A new method for obtaining the magnetic shape anisotropy directly from electron tomography images

A new methodology to obtain magnetic information on magnetic nanoparticle (MNP) systems via electron tomography techniques is reported in this work. The new methodology is implemented in an under-development software package called Magn3t, written in Python and C++. A novel image-filtering technique that reduces the highly undesired diffraction effects in the tomography tilt-series has been also developed in order to increase the reliability of the correlations between morphology and magnetism. Using the Magn3t software, the magnetic shape anisotropy magnitude and direction of magnetite nanoparticles has been extracted for the first time directly from transmission electron tomography.


S1
Data volume thresholding aims to find an optimal value according the which the data is separated in two classes (background and objects). This is performed using Otsu's method, which reduces the problem to that of maximizing the inter-class variance: where: are the probabilities of class occurrence and are the class averages.
It assumed that the data is represented as gray levels, with p(i) the normalized histogram.
A distance map is an image where each object voxel is labeled with the distance to its closest background voxel. It is obtained using a technique called weighted-distance transform, which is computed in two passes. The image is inspected from left to right, top to bottom, and front to back during the forward inspection and from right to left, bottom to top, and back to front during the backward inspection. The forward inspection mask is made of the voxels in the neighborhood of the current voxel that have not yet been reached, and the backward inspection mask is made of the voxels which have been already reached.
In Figure S1, the voxels involved in the two inspections are shown. Underlined voxels are used in the backward inspection mask and the remaining voxels in the forward inspection mask. The weights in the mask are added to the temporary distance labels of the voxels. The weights are chosen such that a good approximation to the Euclidian distance is obtained. The computation of the distance map of an image I can be summarized by the following pseudo-code: S2 for z = 1 to n for y = 1 to n for x = 1 to n I (
Particle separation is done using watershed-segmentation. It uses the distance transform of the object and a seed image, which consist of the local maxima of the distance map that should represent the center region of the particles. The segmentation is achieved using a priority-flood algorithm. Priority-flood is a depression-filling algorithm, which means that it fills an elevation image starting from seeds located at the lowest points. Our code uses a modified version that does the opposite, that is, it fills the image (which is the distance map of the object) starting at seeds located at the maxima of the distance map, that is, near the centers of the particles which make up the object, and going downwards. Initially, each seed has been labeled. The algorithm relies on the use of a priority queue, which is an ordered queue such that the voxels with the highest value are processed first and then removed from the queue. The pseudo-code of the procedure is presented below:

Let Q be a priority queue Let Closed have the same dimensions as IDM (distance map image) Let Closed be initialized to false Let S be the seed image for all c in S do push c onto Q with priority IDM (c) Closed(c) ← true while Open is not empty do c ← pop(Open) for all neighbors n of c do if Closed(n) == false IDM(n) ← min(IDM(n), IDM(c)) Closed(n) ← true Push n onto Open with priority IDM (n) return IDM
The returned data now has each particle of the object labeled differently.
The shape and orientation evaluation procedure consist of fitting each separated particle with an ellipsoid and recovering information about size, axis ratios, and orientation of the long axis from the fit.
The fit procedure is performed as follows: First the center of mass of each particle is found. Then the inertia tensor is calculated using the following the expression: where r i are x, y, z coordinates of each voxel with respect to the center of mass.
The eigenvalues and eigenvectors of the inertia tensor are the found: = While the directions of the ellipsoid semi-axes are along the eigenvectors, their magnitude is related to the eigenvalues by the following relation: